Field এবং Record কীভাবে প্রক্রিয়াকরণ করা হয়
AWK সহ বিভিন্ন প্রোগ্রামিং ভাষায় টেক্সট ডেটা প্রক্রিয়াকরণের সময়, ফাইল বা ইনপুট ডেটা সাধারণত ফিল্ড (Field) এবং রেকর্ড (Record) আকারে বিভক্ত করা হয়। এই বিভাজন ডেটা প্রক্রিয়াকরণকে আরও কার্যকরী করে তোলে। AWK-তে একটি রেকর্ড সাধারণত একটি লাইন হিসেবে ধরা হয়, এবং একটি লাইনের মধ্যে ফিল্ডগুলি স্পেস বা নির্দিষ্ট delimiter দিয়ে আলাদা করা হয়।
Field এবং Record এর সংজ্ঞা
- Field: একটি রেকর্ডের বিভিন্ন অংশ, যা delimiter দ্বারা পৃথক করা হয়। উদাহরণস্বরূপ, একটি লাইনের মধ্যে একাধিক শব্দ বা ডেটা উপাদান বিভিন্ন ফিল্ড হিসেবে বিবেচিত হয়।
- Record: একটি সম্পূর্ণ লাইন বা একটি ডেটা ইউনিট, যা সাধারণত newline চরিত্র (
\n) দ্বারা পৃথক করা হয়।
উদাহরণ:
ধরা যাক, একটি data.txt ফাইল আছে যার মধ্যে নিম্নলিখিত ডেটা রয়েছে:
Alice 25 Engineer
Bob 30 Designer
Charlie 28 Managerএখানে, প্রতিটি লাইন একটি রেকর্ড এবং প্রতিটি লাইনের পৃথক উপাদানগুলি (Alice, 25, Engineer) হল ফিল্ড।
AWK-তে Field এবং Record প্রক্রিয়াকরণ
AWK-তে ফিল্ডগুলি $ চিহ্ন দিয়ে উপস্থাপন করা হয়। $1, $2, $3 ইত্যাদি ব্যবহার করে আপনি প্রথম, দ্বিতীয়, তৃতীয় ফিল্ড ইত্যাদি নির্দিষ্ট করতে পারেন। পুরো রেকর্ডটি $0 দিয়ে উপস্থাপন করা হয়।
Field প্রক্রিয়াকরণ উদাহরণ:
awk '{ print $1 }' data.txtএই কমান্ডটি data.txt ফাইলের প্রতিটি লাইনের প্রথম ফিল্ড প্রিন্ট করবে। আউটপুট হবে:
Alice
Bob
CharlieMultiple Fields প্রিন্ট করা:
awk '{ print $1, $3 }' data.txtএই কমান্ডটি প্রতিটি লাইনের প্রথম এবং তৃতীয় ফিল্ড প্রিন্ট করবে। আউটপুট হবে:
Alice Engineer
Bob Designer
Charlie ManagerRecord প্রক্রিয়াকরণ
AWK ডিফল্টভাবে প্রতিটি লাইনকে একটি রেকর্ড হিসেবে গণ্য করে। তবে, আপনি কাস্টম delimiter ব্যবহার করে রেকর্ড পরিবর্তন করতে পারেন।
উদাহরণ:
ধরা যাক, একটি CSV ফাইল রয়েছে যার মধ্যে কোলন (:) দ্বারা ফিল্ড বিভক্ত:
Alice:25:Engineer
Bob:30:Designer
Charlie:28:Managerএই ফাইল প্রক্রিয়াকরণের জন্য AWK-তে -F ফ্ল্যাগ ব্যবহার করে delimiter নির্ধারণ করতে হবে:
awk -F ':' '{ print $1, $3 }' data.csvএই কমান্ডটি প্রথম এবং তৃতীয় ফিল্ড প্রিন্ট করবে। আউটপুট হবে:
Alice Engineer
Bob Designer
Charlie ManagerField Separator এবং Record Separator পরিবর্তন
AWK-তে FS (Field Separator) এবং RS (Record Separator) পরিবর্তন করে ফিল্ড এবং রেকর্ডের প্রক্রিয়াকরণ নিয়ন্ত্রণ করা যায়।
Field Separator পরিবর্তন:
awk 'BEGIN { FS=":" } { print $1, $2 }' data.csvএই কমান্ডে FS পরিবর্তন করে কোলন (:) দিয়ে ফিল্ড আলাদা করা হয়েছে।
Record Separator পরিবর্তন:
awk 'BEGIN { RS="\n\n" } { print $1 }' data.txtএই কমান্ডে RS পরিবর্তন করে দুটি newline দিয়ে রেকর্ড আলাদা করা হয়েছে।
সারসংক্ষেপ
AWK এবং অন্যান্য প্রোগ্রামিং ভাষায় Field এবং Record প্রক্রিয়াকরণ একটি অত্যন্ত কার্যকরী পদ্ধতি, যা ব্যবহারকারীদের ডেটা বিশ্লেষণ এবং ম্যানিপুলেশন করতে সহায়তা করে। AWK-তে $ চিহ্ন ব্যবহার করে নির্দিষ্ট ফিল্ড প্রক্রিয়াকরণ করা যায় এবং FS এবং RS এর মাধ্যমে ফিল্ড এবং রেকর্ড বিভাজন নিয়ন্ত্রণ করা সম্ভব। এই বৈশিষ্ট্যগুলি ডেটা প্রক্রিয়াকরণকে আরও শক্তিশালী এবং কার্যকর করে।
Read more